import { ref } from 'vue'
import { defineStore } from 'pinia'
import { getCategoryAPI } from '@/api/layout'
export const useCategoryStore = defineStore('category', () => {
    // 导航列表的数据管理
    // state 导航列表数据
    const categoryList = ref([])

    // action 获取导航数据的方法
    /**
     * 异步获取分类信息。
     *
     * 该函数通过调用getCategoryAPI异步获取分类数据，并更新categoryList的值。
     * 使用async/await语法确保获取数据的逻辑在更新状态前完成，避免了异步操作导致的状态更新问题。
     *
     * @returns {void} 无返回值，但更新了categoryList的值。
     */
    const getCategory = async () => {
        // 等待API调用完成并获取结果
        const res = await getCategoryAPI()
        // 更新categoryList的值为API返回的结果
        categoryList.value = res.result
    }

    return {
        categoryList,
        getCategory
    }
})